import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QFormLayout
from PyQt5.QtWidgets import (
    QPushButton,
    QLineEdit,
    QTextEdit,
    QMessageBox,
    QInputDialog,
    QRadioButton,
    QButtonGroup,
)


def on_group_toggle(button: QRadioButton):
    print(button.text(), button.isChecked())


if __name__ == "__main__":
    # 1. 创建应用程序
    app = QApplication(sys.argv)

    # 2. 创建窗口
    w = QWidget()
    # 创建标题
    w.setWindowTitle("输入对话框")
    # w.resize(400, 300)

    # 创建一个水平布局
    layout_horizontal = QHBoxLayout()
    # 将水平布局窗口对象中
    w.setLayout(layout_horizontal)

    # 在水平布局下创建两个单选按钮,radio:单选框，check：复选框
    button1 = QRadioButton("男")
    button2 = QRadioButton("女")
    button1.setChecked(True)

    # 将按钮对象添加到水平布局的容器中
    layout_horizontal.addWidget(button1)
    layout_horizontal.addWidget(button2)

    # 创建切换事件组
    group_toggle = QButtonGroup()
    # 将创建的单选框按钮添加到组中
    group_toggle.addButton(button1)
    group_toggle.addButton(button2)
    group_toggle.buttonToggled.connect(on_group_toggle)
    # 设置单选框切换事件

    # 3. 显示窗口
    w.show()

    # 4. 等待APP停止
    sys.exit(app.exec_())
